1. Field of the Invention
This invention pertains generally to graphics displays, and more particularly to systems for managing application program access to graphics displays.
2. Description of Related Art
A graphics (e.g., video) display device used in an embedded system is an important resource for applications running on the embedded system. Often, two or more application programs in the embedded system compete for access to this resource. Typically, in embedded systems, there have been two approaches to managing how to share the screen display among different applications that wish to display, for example, a graphical user interface (GUI).
For example, one approach is to include a window management system such as “X window” or “Qt Embedded” from TrollTech Corp. In this approach, the window management system “owns” the screen display as a resource and any application wishing to display a GUI must use the application program interface (API) libraries the window manager provides. In this method, applications do not “own” the screen display as a resource and must layer their specific GUI design over what is provided by the window management system. Unfortunately, with this management approach a relatively large amount of system memory is required by the window manager. Moreover, the processing required by the embedded system to share the screen display with multiple applications depletes central processing unit (CPU) cycles and lowers overall performance of the embedded system.
A second approach for managing a screen display currently in use includes having one master application, such as a web browser, that has complete control of the screen display. In this approach, all other applications, such as an embedded device control application, an e-mail application, etc., are written as “plug-in” software to the web browser. In this approach, the screen display resource is the web browser and all applications are written as browser add-ons. As such, instead of having a set of independent applications, all applications are combined into one large application.
As can be seen, therefore, there is a need for a system and method for allowing multiple applications to have full “ownership” of a screen display as a resource while still allowing the screen display to be shared by independent applications. There is also a need for such as system and method that minimizes its use of system memory and that does not rob the system of CPU cycles. The present invention satisfies those needs, as well as others, and overcomes drawbacks in current screen display management approaches.